package org.jeecg.flowable.service.definition;


import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.flowable.entity.definition.BpmTaskAssignRule;
import org.jeecg.framework.flowable.core.behavior.script.BpmTaskAssignScript;


import javax.validation.Valid;
import java.util.List;
import java.util.Set;

/**
 * BPM 任务分配规则 Service 接口
 *
 * @author 芋道源码
 */
public interface BpmTaskAssignRuleService extends IService<BpmTaskAssignRule> {
    /**
     * 获得流程定义的任务分配规则数组
     *
     * @param modelId 流程模型的编号
     * @param processDefinitionId 流程定义的编号
     * @return 任务规则数组
     */
    List<BpmTaskAssignRule> getTaskAssignRuleList(String modelId, String processDefinitionId);

    void setScripts(List<BpmTaskAssignScript> scripts);

    List<BpmTaskAssignRule> getTaskAssignRuleListByModelId(String modelId);

    List<BpmTaskAssignRule> getTaskAssignRuleListByProcessDefinitionId(String processDefinitionId, String taskDefinitionKey);
}
